// 定义颜色数组，用于标签循环显示
export const BADGE_COLORS = [
    '#1890ff',  // 蓝色
    '#52c41a',  // 绿色
    '#722ed1',  // 紫色
    '#faad14',  // 黄色
    '#f5222d',  // 红色
    '#13c2c2',  // 青色
    '#eb2f96',  // 粉色
    '#fa8c16',  // 橙色
];

/**
 * 根据字符串获取颜色
 * @param str 字符串
 * @returns 对应的颜色
 */
export const getColorByString = (str: string): string => {
    // 计算字符串的 ASCII 值总和
    const asciiSum = str.split('').reduce((sum, char) => sum + char.charCodeAt(0), 0);
    // 使用 ASCII 值总和对颜色数组长度取余，得到颜色索引
    const colorIndex = asciiSum % BADGE_COLORS.length;
    return BADGE_COLORS[colorIndex];
};


/**
 * 架构颜色映射
 * @param arch 架构
 */
export const getArchitectureColor = (arch: string) => {
    if (arch.includes('amd64')) return 'blue';
    if (arch.includes('arm64')) return 'orange';
    if (arch.includes('arm')) return 'red';
    return 'default';
};
